package br.com.crednove.modelo;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collections;

public class ClienteRefin {

    private Cliente cliente;
    private DecimalFormat dfDecimal;
    private ArrayList<Parcela> parcelas;

    public ClienteRefin() {
        this.cliente = new Cliente();
        this.parcelas = new ArrayList<>();
        this.dfDecimal = new DecimalFormat("00000.00");
    }

    public void limparInformacoes() {
        this.cliente.limparInformacoes();
        this.parcelas.clear();
    }

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public DecimalFormat getDfDecimal() {
        return dfDecimal;
    }

    public void setDfDecimal(DecimalFormat dfDecimal) {
        this.dfDecimal = dfDecimal;
    }

    public ArrayList<Parcela> getParcelas() {
        return parcelas;
    }

    public void setParcelas(ArrayList<Parcela> parcelas) {
        this.parcelas = parcelas;
    }

    public void ordenarParcelas() {
        Collections.sort(parcelas);
    }

    @Override
    public String toString() {
        String retorno = cliente.toString() + ";" + this.cliente.getCidade() + ";" + this.cliente.getBairro()
                + ";" + this.cliente.getCep() + ";" + this.cliente.getEndereco() + ";" + this.cliente.getDdd()
                + ";" + this.cliente.getTelefone() + ";" + this.cliente.getIdBanco() + ";" + this.cliente.getInicioPag() + ";";

        for (Parcela parcela : this.parcelas) {
            retorno = retorno + parcela.getParcelasContrato() + ";" + parcela.getParcelasEmAberto() + ";"
                    + dfDecimal.format(parcela.getValorParcela()) + ";" + dfDecimal.format(parcela.getBruto())
                    + ";" + dfDecimal.format(parcela.getSaldoRefin()) + ";" + dfDecimal.format(parcela.getLiquido()) + ";";
        }
        return (retorno);
    }
}
